package com.demo.rabbitmq.service;

import com.demo.rabbitmq.entity.Entity;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

/**
 * @author yexi
 */
@Component("consumer")
public class ConsumerService {

    @Value("testQueue")
    public String queueName;

    /**
     * queues: 指定从哪个队列（queue）订阅消息。可以使用SpEL表达式来达成动态指定队列名称的效果(适配那些明明消费结构一样但就是队列名称不一样的情况)
     * autoStartUp: 设置监听器是否自动启动，默认使用容器工厂中的默认设置。
     */
    @RabbitListener(queues = "#{consumer.queueName}", autoStartup = "false")
    public void testQueue(Entity entity) throws InterruptedException {
        System.out.println("获取到的消息: " + entity);
    }
}
